import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Pie

# 读取数据
df_2 = pd.read_excel('C:/Users/DELL/Desktop/课程/数据清洗期末实训/实训资料/data/服饰行业粉丝地域分布.xlsx')


# 筛选出所有服饰类别的数据
cloth_categories = ['连衣裙', '夹克', '蕾丝雪纺衫', '背心吊带', '西装西裤', '羽绒服',
                    '牛仔裤', '休闲裤', '半身裙', '连体裤', 'T恤', '针织衫/毛衣',
                    '衬衫', '卫衣/绒衫', 'polo衫', '风衣', '运动卫衣/套头衫',
                    '马甲', '棉衣', '运动茄克/外套', '大衣', '皮衣']

df_cloth_region = df_2[df_2['行业名称'].isin(cloth_categories)]

# 计算每个省份的用户占比（保留两位小数）
average_distribution = df_cloth_region.groupby('省份')['占比'].mean().round(2).reset_index()

# 打印结果
# print(average_distribution)

# ----------------------------绘制用户地域平均分布环形图------------------------------------

# 绘制用户地域平均分布环形图
pie = Pie()
pie.add(
    "",
    [list(z) for z in zip(average_distribution['省份'], average_distribution['占比'])],
)
pie.set_global_opts(
    title_opts=opts.TitleOpts(title="服饰行业用户地域平均分布"),
    legend_opts=opts.LegendOpts(type_="scroll", pos_top="15%", pos_left="80%", orient="vertical")
)
pie.set_series_opts(
    tooltip_opts=opts.TooltipOpts(
        trigger="item", formatter="{a} <br/>{b}: {c} ({d}%)"
    ),
    label_opts=opts.LabelOpts(formatter="{b}: {c}"),
)

# 渲染图表
# pie.render("服饰行业用户地域平均分布_环形图.html")